Top 50 Pattern Programming Questions with Python Solutions
Top 50 Pattern Programming Questions with Solutions in Python
Is article me aapko 50 best pattern programming questions milenge jo placement preparation, coding tests aur interviews ke liye useful hain. Yahan star, number, matrix, alphabet, prime, Fibonacci aur advanced patterns diye gaye hain.
Har question ke sath sample output, short logic aur Python code diya gaya hai. Aap inhe C, C++, Java ya kisi bhi language me convert kar sakte hain.
Table of Contents
- Basic Star Patterns
- Number Patterns
- Alphabet Patterns
- Matrix Patterns
- Advanced Placement Patterns
How to Practice Pattern Programming
- Nested loops ko strong karo
- Row aur column relation samjho
- Pehle output ka dry run karo, phir code likho
- Daily 5 se 10 pattern solve karo
Top 50 Pattern Programming Questions
1
2 3
4 5 6
7 8 9 10
n = 4
num = 1
for i in range(1, n + 1):
for j in range(i):
print(num, end=" ")
num += 1
print()1
0 1
0 1 0
1 0 1 0
n = 4
for i in range(1, n + 1):
val = 1 if i % 2 else 0
for j in range(i):
print(val, end=" ")
val = 1 - val
print()*****
* *
* *
* *
*****
n = 5
for i in range(n):
for j in range(n):
if i == 0 or i == n-1 or j == 0 or j == n-1:
print("*", end="")
else:
print(" ", end="")
print()* *
* *
*
* *
* *
n = 5
for i in range(n):
for j in range(n):
if i == j or i + j == n - 1:
print("*", end="")
else:
print(" ", end="")
print()1 2 3 4
8 7 6 5
9 10 11 12
16 15 14 13
n = 4
num = 1
for i in range(n):
row = list(range(num, num + n))
if i % 2 == 1:
row.reverse()
print(*row)
num += n 1
121
12321
1234321
n = 4
for i in range(1, n + 1):
print(" " * (n - i), end="")
for j in range(1, i + 1):
print(j, end="")
for j in range(i - 1, 0, -1):
print(j, end="")
print()A
B B
C C C
D D D D
n = 4
ch = 65
for i in range(1, n + 1):
print((chr(ch) + " ") * i)
ch += 1*****
***
*
***
*****
n = 5
for i in range(n):
stars = n - 2 * min(i, n - 1 - i)
spaces = min(i, n - 1 - i)
print(" " * spaces + "*" * stars)1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
n = 3
size = 2 * n - 1
for i in range(size):
for j in range(size):
val = n - min(i, j, size - 1 - i, size - 1 - j)
print(val, end=" ")
print() *
***
*****
***
*
n = 3
for i in range(1, n + 1):
print(" " * (n - i) + "*" * (2 * i - 1))
for i in range(n - 1, 0, -1):
print(" " * (n - i) + "*" * (2 * i - 1)) *
**
***
****
*****
n = 5
for i in range(1, n + 1):
print(" " * (n - i) + "*" * i)1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
n = 5
for i in range(n, 0, -1):
for j in range(1, i + 1):
print(j, end=" ")
print()1
2 3
4 5 6
7 8 9 10
n = 4
num = 1
for i in range(1, n + 1):
for j in range(i):
print(num, end=" ")
num += 1
print()1
0 1
1 0 1
0 1 0 1
n = 4
for i in range(1, n + 1):
for j in range(1, i + 1):
print(1 if (i + j) % 2 == 0 else 0, end=" ")
print() *
* *
* *
*******
n = 4
for i in range(1, n + 1):
for j in range(1, 2 * n):
if j == n - i + 1 or j == n + i - 1 or (i == n and n-i+1 <= j <= n+i-1):
print("*", end="")
else:
print(" ", end="")
print()1
2 2
3 3 3
4 4 4 4
n = 4
for i in range(1, n + 1):
print((str(i) + " ") * i)* * *
* * * *
* *
n = 9
for i in range(3):
for j in range(n):
if ((i + j) % 4 == 0) or (i == 1 and j % 4 == 2):
print("*", end="")
else:
print(" ", end="")
print() *
* *
* *
* *
*
n = 5
mid = n // 2
for i in range(n):
for j in range(n):
if abs(mid - i) + abs(mid - j) == mid:
print("*", end="")
else:
print(" ", end="")
print() A
ABA
ABCBA
n = 3
for i in range(n):
print(" " * (n - i - 1), end="")
for j in range(i + 1):
print(chr(65 + j), end="")
for j in range(i - 1, -1, -1):
print(chr(65 + j), end="")
print()0 0 1 0 0
0 0 1 0 0
1 1 1 1 1
0 0 1 0 0
0 0 1 0 0
n = 5
mid = n // 2
for i in range(n):
for j in range(n):
print(1 if i == mid or j == mid else 0, end=" ")
print()* * * * *
* 2 2 *
* 3 *
* 2 2 *
* * * * *
n = 5
for i in range(n):
for j in range(n):
if i == 0 or i == n-1 or j == 0 or j == n-1:
print("*", end=" ")
elif i == j or i + j == n - 1:
print(i + 1, end=" ")
else:
print(" ", end=" ")
print()A B C
A B C
A B C
n = 3
for i in range(n):
for j in range(n):
print(chr(65 + j), end=" ")
print()* *
** **
*****
n = 3
for i in range(1, n + 1):
print("*" * i + " " * (2 * (n - i)) + "*" * i)* *
* *
*
n = 5
for i in range(n // 2 + 1):
print(" " * i + "*" + " " * (n - 2 * i - 2) + ("*" if i != n//2 else ""))n = 4
m = 4 * n - 3
for i in range(n):
for j in range(m):
if j == 0 or j == m-1 or j == n-1 or j == 2*n-1:
print("*", end="")
elif i >= n//2 and (j == i or j == m-1-i):
print("*", end="")
else:
print(" ", end="")
print() 1
121
12321
121
1
n = 3
for i in list(range(1, n + 1)) + list(range(n - 1, 0, -1)):
print(" " * (n - i), end="")
for j in range(1, i + 1):
print(j, end="")
for j in range(i - 1, 0, -1):
print(j, end="")
print()n = 4
mat = [[0]*n for _ in range(n)]
num, top, left, bottom, right = 1, 0, 0, n-1, n-1
while top <= bottom and left <= right:
for i in range(left, right+1):
mat[top][i] = num; num += 1
top += 1
for i in range(top, bottom+1):
mat[i][right] = num; num += 1
right -= 1
for i in range(right, left-1, -1):
mat[bottom][i] = num; num += 1
bottom -= 1
for i in range(bottom, top-1, -1):
mat[i][left] = num; num += 1
left += 1
for row in mat:
print(*row)n = 4
mat = [[0]*n for _ in range(n)]
num, top, left, bottom, right = 1, 0, 0, n-1, n-1
while top <= bottom and left <= right:
for i in range(top, bottom+1):
mat[i][left] = num; num += 1
left += 1
for i in range(left, right+1):
mat[bottom][i] = num; num += 1
bottom -= 1
for i in range(bottom, top-1, -1):
mat[i][right] = num; num += 1
right -= 1
for i in range(right, left-1, -1):
mat[top][i] = num; num += 1
top += 1
for row in mat:
print(*row)0 1 0 1
1 0 1 0
0 1 0 1
1 0 1 0
n = 4
for i in range(n):
for j in range(n):
print((i + j) % 2, end=" ")
print()n = 5
for i in range(n):
for j in range(n):
if j == 0 or i + j == n//2 or i - j == n//2:
print(i+1, end=" ")
else:
print(" ", end=" ")
print()******
* *
* *
******
rows, cols = 4, 6
for i in range(rows):
for j in range(cols):
if i == 0 or i == rows-1 or j == 0 or j == cols-1:
print("*", end="")
else:
print(" ", end="")
print()1
1 2
1 2 3
1 2 3 4
n = 4
for i in range(1, n + 1):
for j in range(1, i + 1):
print(j, end=" ")
print()*******
*****
***
*
n = 4
for i in range(n, 0, -1):
print(" " * (n - i) + "*" * (2 * i - 1))n = 4
for i in list(range(1, n + 1)) + list(range(n - 1, 0, -1)):
print(" " * (n - i), end="")
print((str(i) + " ") * i)n = 4
for i in range(1, n + 1):
print("*" * i + " " * (2 * (n - i)) + "*" * i)
for i in range(n, 0, -1):
print("*" * i + " " * (2 * (n - i)) + "*" * i)n = 4
for i in range(1, n + 1):
left = "*" if i == 1 else "*" + " " * (i - 2) + "*"
print(left + " " * (2 * (n - i)) + left)
for i in range(n, 0, -1):
left = "*" if i == 1 else "*" + " " * (i - 2) + "*"
print(left + " " * (2 * (n - i)) + left)1
121
12321
1234321
n = 4
for i in range(1, n + 1):
for j in range(1, i + 1):
print(j, end="")
for j in range(i - 1, 0, -1):
print(j, end="")
print()1
3 5
7 9 11
n = 3
num = 1
for i in range(1, n + 1):
for j in range(i):
print(num, end=" ")
num += 2
print()2
4 6
8 10 12
n = 3
num = 2
for i in range(1, n + 1):
for j in range(i):
print(num, end=" ")
num += 2
print()n = 4
chars = []
ch = 65
for i in range(n * n):
chars.append(chr(ch))
ch = 65 if ch == 90 else ch + 1
idx = 0
for i in range(n):
row = chars[idx:idx+n]
if i % 2 == 1:
row.reverse()
print(*row)
idx += nn = 3
for i in range(1, n + 1):
print(" " * (n - i) + "*" + (" " * (2 * i - 3) + "*" if i > 1 else ""))
for i in range(n - 1, 0, -1):
print(" " * (n - i) + "*" + (" " * (2 * i - 3) + "*" if i > 1 else "")) 1
222
33333
4444444
n = 4
for i in range(1, n + 1):
print(" " * (n - i) + str(i) * (2 * i - 1))n = 9
for i in range(3):
for j in range(n):
if ((i + j) % 4 == 0) or (i == 1 and j % 4 == 2):
print((j % 9) + 1, end="")
else:
print(" ", end="")
print()* *
* *
*
* *
* *
n = 5
for i in range(n):
for j in range(n):
if i == j or i + j == n - 1:
print("*", end="")
else:
print(" ", end="")
print()n = 4
size = 2 * n - 1
for i in range(size):
for j in range(size):
print(max(abs(i - (n-1)), abs(j - (n-1))) + 1, end=" ")
print()1
4 7
10 13 16
n = 3
num = 1
for i in range(1, n + 1):
for j in range(i):
print(num, end=" ")
num += 3
print()def is_prime(x):
if x < 2:
return False
for i in range(2, int(x**0.5) + 1):
if x % i == 0:
return False
return True
n = 3
count, num = 1, 2
for i in range(1, n + 1):
c = 0
while c < i:
if is_prime(num):
print(num, end=" ")
c += 1
num += 1
print()n = 4
a, b = 0, 1
for i in range(1, n + 1):
for j in range(i):
print(b, end=" ")
a, b = b, a + b
print()A
B C
D E F
n = 3
ch = 65
for i in range(1, n + 1):
for j in range(i):
print(chr(ch), end=" ")
ch += 1
print()#
##
###
####
n = 4
sym = "#"
for i in range(1, n + 1):
print(sym * i)Bonus Tips for Placement Preparation
- Star, number aur palindrome patterns sabse zyada practice karo
- Matrix based patterns interview me strong impression dete hain
- Same logic ko C, C++, Java aur Python me convert karke practice karo
- Dry run + loop tracing sabse important hai
FAQ
Q1. Pattern programming kyu important hai?
Pattern programming se loops, conditions aur logic building strong hoti hai.
Q2. Kya placement me pattern questions aate hain?
Haan, especially coding rounds aur logic screening me pattern-based questions ka use hota hai.
Q3. Pattern questions kis language me practice kare?
Python, C, C++, Java kisi bhi language me kar sakte ho. Logic same rehta hai.
Q4. Beginner kaunse patterns se start kare?
Right triangle, square, pyramid, Floyd's triangle aur palindrome pyramid se start karo.
Conclusion
Ye top 50 pattern programming questions with solutions aapki coding logic aur placement preparation dono ko strong karenge. In questions ko regular practice karke aap loops, conditions aur matrix handling me kaafi strong ho sakte hain.
टिप्पणियाँ
एक टिप्पणी भेजें